<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>文章列表</title>
    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
    <link rel="stylesheet" href="css/reset.css" />
    <link rel="stylesheet" href="css/iconfont.css" />
    <link rel="stylesheet" href="css/main.css" />
    <script src="./libs/jquery-1.12.4.min.js"></script>
</head>

<body>
    <div class="container-fluid">
        <div class="common_title">用户信息修改</div>
        <div class="container-fluid common_con">
            <form class="form-horizontal article_form" id="form">
                <div class="form-group">
                    <label for="inputEmail1" class="col-sm-2 control-label">用户名称：</label>
                    <div class="col-sm-4">
                        <input type="text" name="username" class="form-control username" id="inputEmail1" value="李思思" />
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail2" class="col-sm-2 control-label">昵称：</label>
                    <div class="col-sm-4">
                        <input type="text" name="nickname" class="form-control nickname" id="inputEmail2" value="哈哈思" />
                    </div>
                </div>
                <div class="form-group">
                    <label for="inputEmail3" class="col-sm-2 control-label">邮箱：</label>
                    <div class="col-sm-4">
                        <input type="text" name="email" class="form-control email" id="inputEmail3"
                            value="520@163.com" />
                    </div>
                </div>

                <div class="form-group">
                    <label for="inputPassword3" class="col-sm-2 control-label">用户图标：</label>
                    <div class="col-sm-10">
                        <img src="images/2.jpg" alt="" class="user_pic" />
                        <input style="display: none" name="userPic" type="file" id="exampleInputFile" />
                        <!-- 给label标签的for属性赋值,值是input标签的id,那这样的话点击label就相当于点击了input -->
                        <br />
                        <label for="exampleInputFile">
                            <img src="./images/uploads_icon.jpg" style="height: 50px" alt="" />
                        </label>
                    </div>
                </div>

                <div class="form-group">
                    <label for="inputEmail4" class="col-sm-2 control-label">密码：</label>
                    <div class="col-sm-4">
                        <input type="password" name="password" class="form-control password" id="inputEmail4"
                            value="12345678" />
                    </div>
                </div>
                <div class="form-group">
                    <div class="col-sm-offset-2 col-sm-10">
                        <button type="submit" class="btn btn-success btn-edit">
                            修改
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </div>
    <script src="./libs/http.js"></script>
    <script>
        // 入口函数
        $(function () {
            // 1. 发送ajax请求,获得用户的详细数据
            $.ajax({
                type: "get",
                url: BigNew.user_detail,
                success: function (backData) {
                    if (backData.code == 200) {
                        // console.log(backData);
                        // 将返回的数据设置到页面结构中
                        // $('input.username').val(backData.data.username);
                        // $('input.nickname').val(backData.data.nickname);
                        // $('input.email').val(backData.data.email);
                        // $('input.password').val(backData.data.password);
                        // 复习,利用对象结构循环
                        for (let key in backData.data) {
                            // key值恰好更标签的类名一样
                            // 对象名[key]
                            $("input." + key).val(backData.data[key]);
                        }
                        $("img.user_pic").attr("src", backData.data.userPic);
                    }
                },
            });

            // 2. 图片上传预览功能
            // 监控上传按钮是否发生改变
            $("#exampleInputFile").on("change", function () {
                // 获得文件信息,创建url路径
                let file = this.files[0];
                let url = URL.createObjectURL(file);
                // 将路径设置给img标签
                $("img.user_pic").attr("src", url);
            });

            // 3. 给修改按钮设置事件
            $(".btn-edit").on("click", function (e) {
                e.preventDefault();
                // 根据数据,创建formdata对象
                let fd = new FormData($("form")[0]);
                // 发起ajax请求
                $.ajax({
                    type: "post",
                    url: BigNew.user_edit,
                    data: fd,
                    // 因为发送的formdata数据,所以需要设置两个属性
                    contentType: false,
                    processData: false,
                    success: function (backData) {
                        if (backData.code == 200) {
                            alert("修改信息成功");
                            // 需要给父页面index,重新发送请求,获得最新的用户数据
                            // 发送ajax请求
                            $.ajax({
                                type: "get",
                                url: BigNew.user_info,// 用户信息
                                success: function (backData) {
                                    // 将返回的数据设置index页面显示
                                    // 代码在user子页面,如果找到父页面中的元素????
                                    // 添加前缀: parent--->index页面
                                    parent.$(".user_info span i").text(backData.data.nickname);
                                    parent.$(".user_info img,.header_bar img").attr("src", backData.data.userPic);
                                },
                            });
                        }
                    },
                });
            });
        });
    </script>
</body>

</html>